Visualización de Datos
Máster Universitario de Ciencia de datos
Universitat Oberta de Catalunya
Autor: Jorge Alonso Hernández
En este documento se realizan las visualizaciones de datos referentes a la PEC2 de la asignatura de visualización de datos del Máster Universitario de Ciencia de Datos de la Universitat Oberta de Catalunya. Se representan las tres visualizaciones asignadas con los tres diferentes conjuntos de datos seleccionados. Las visualizaciones asignadas son el gráfico de líneas, la matriz de confusión y el gráfico OHLC.
# Carga de librerías
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.pyplot import figure
import seaborn as sns
import plotly.graph_objects as go
# Carga de ficheros
data_covid = pd.read_excel('data/6-2-incidencia-acumulada-la-rioja.xlsx')
data_university = pd.read_csv('data/cwurData.csv')
data_apple = pd.read_csv('data/AAPL.csv')
Dataset con el conjunto de datos referente a la Incidencia acumulada La Rioja respecto al COVID-19.
data_covid.head()
| FECHA | NUEVOS CASOS | ACUMULADOS 14 DIAS | IA 14 DIAS | ACUMULADOS 7 DIAS | IA 7 DIAS | |
|---|---|---|---|---|---|---|
| 0 | 2022-11-20 | 8.0 | 223.0 | 69.731954 | 134.0 | 41.901712 |
| 1 | 2022-11-19 | 8.0 | 218.0 | 68.168457 | 133.0 | 41.589013 |
| 2 | 2022-11-18 | 19.0 | 213.0 | 66.604961 | 126.0 | 39.400118 |
| 3 | 2022-11-17 | 23.0 | 215.0 | 67.230359 | 118.0 | 36.898523 |
| 4 | 2022-11-16 | 12.0 | 217.0 | 67.855758 | 110.0 | 34.396928 |
Dataset con el conjunto de datos referente al ranking de universidades en el mundo.
data_university.head()
| world_rank | institution | country | national_rank | quality_of_education | alumni_employment | quality_of_faculty | publications | influence | citations | broad_impact | patents | score | year | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Harvard University | USA | 1 | 7 | 9 | 1 | 1 | 1 | 1 | NaN | 5 | 100.00 | 2012 |
| 1 | 2 | Massachusetts Institute of Technology | USA | 2 | 9 | 17 | 3 | 12 | 4 | 4 | NaN | 1 | 91.67 | 2012 |
| 2 | 3 | Stanford University | USA | 3 | 17 | 11 | 5 | 4 | 2 | 2 | NaN | 15 | 89.50 | 2012 |
| 3 | 4 | University of Cambridge | United Kingdom | 1 | 10 | 24 | 4 | 16 | 16 | 11 | NaN | 50 | 86.17 | 2012 |
| 4 | 5 | California Institute of Technology | USA | 4 | 2 | 29 | 7 | 37 | 22 | 22 | NaN | 18 | 85.21 | 2012 |
Datatset con el conjunto de datos referente a los precios de las acciones de Apple.
data_apple.head()
| Date | Open | High | Low | Close | Adj Close | Volume | |
|---|---|---|---|---|---|---|---|
| 0 | 1980-12-12 | 0.128348 | 0.128906 | 0.128348 | 0.128348 | 0.100178 | 469033600 |
| 1 | 1980-12-15 | 0.122210 | 0.122210 | 0.121652 | 0.121652 | 0.094952 | 175884800 |
| 2 | 1980-12-16 | 0.113281 | 0.113281 | 0.112723 | 0.112723 | 0.087983 | 105728000 |
| 3 | 1980-12-17 | 0.115513 | 0.116071 | 0.115513 | 0.115513 | 0.090160 | 86441600 |
| 4 | 1980-12-18 | 0.118862 | 0.119420 | 0.118862 | 0.118862 | 0.092774 | 73449600 |
En este apartado se realiza la visualización del gráfico de líneas, para ello en primer lugar se agrupa el número de nuevos casos mensualmente, de forma que se puedan mostrar los datos de los resultados de cada mes. Una vez obtenidos los datos realizamos la visualización del gráfico de líneas mostrando el histórico de nuevos casos de COVID-19.
group_data = data_covid.groupby(pd.PeriodIndex(data_covid['FECHA'], freq='m')).sum().reset_index()
group_data.FECHA = group_data['FECHA'].astype('datetime64[ns]')
group_data['NUEVOS CASOS'] = pd.to_numeric(group_data['NUEVOS CASOS'], downcast="integer")
figure(figsize=(20, 8))
plt.plot(group_data.FECHA, group_data['NUEVOS CASOS'], marker='s')
plt.title('Casos de COVID-19')
plt.xticks(rotation=90)
plt.xlabel('Fecha')
plt.ylabel('Número de nuevos casos')
plt.show()
plt.tight_layout()
<Figure size 432x288 with 0 Axes>
En este apartado se muestra la visualización de la matriz de correlación entre las diferentes valoraciones de las universidades del mundo. Para realizar la matriz se han seleccionado los conjuntos de datos numéricos referentes a la posición en cada uno de los rankings.
columns = ['world_rank','national_rank','quality_of_education','alumni_employment','quality_of_faculty','publications','influence','citations','patents']
data_corr = data_university[columns]
corr_df = data_corr.corr(method='pearson')
plt.figure(figsize=(20, 8))
sns.heatmap(corr_df, annot=True)
plt.show()
En este apartado se muestra la visualización de datos del gráfico OHLC en el cual se muestran los datos del precio de las acciones de la compañía Apple en el mercado de la bolsa. Para la visualización mostramos en primer lugar el gráfico para un periodo corto, desde enero de 2020 hasta marzo de 2020 y después realizamos la visualización de todos los datos desde 1980 hasta 2021.
data_apple_filter = data_apple[(data_apple['Date'] > '2020-01-01') & (data_apple['Date'] < '2020-04-01')]
fig = go.Figure(data=go.Ohlc(x=data_apple_filter['Date'],
open=data_apple_filter['Open'],
high=data_apple_filter['High'],
low=data_apple_filter['Low'],
close=data_apple_filter['Close']))
fig.show()
fig = go.Figure(data=go.Ohlc(x=data_apple['Date'],
open=data_apple['Open'],
high=data_apple['High'],
low=data_apple['Low'],
close=data_apple['Close']))
fig.show()